import Vue from 'vue'
import VueRouter from 'vue-router'
import LoginView from '../components/user/LoginView.vue'
import MainView from '@/components/user/MainView.vue'
import WelcomeView from '@/components/user/WelcomeView.vue'

import ElementUI, {Message} from 'element-ui'
Vue.use(ElementUI)               // 使用Element ui
Vue.component(Message.name, Message)  // 引入消息组件

Vue.use(VueRouter)

// 路由规则 ：
const routes = [
    {path: '/', name: 'LoginView', component: LoginView},
    {
        path: '/main',
        name: 'MainView',
        component: MainView,
        children: [
            {path: '/welcome', name: 'WelcomeView', component: WelcomeView}
        ]
    },
]

const router = new VueRouter({
    routes
})
// 设置路由守卫 (导航守卫)
/*
    to:     代表要访问的路由(要去哪里)
    from:   代表从哪里来
    next:   处理逻辑（是一个函数）
*/
router.beforeEach((to , from, next) => {
    // 得到要访问的路径：
    let path = to.path;
    console.log("------------路由守卫-----------")
    console.log(to);
    console.log(from);
    if(path == "/"){
        // 放行
        next()
    }else {
        // 就是需要判断，登录过之后才能访问的页面
        console.log("---需要登录（web）xxx---")
        let token = sessionStorage.getItem("token");
        if(token){
            next();
        }else {
            Message({
                type: "error",
                message: "您还没有登录，请先登录!",
                duration: 1000
            });
            // 回到首页
            next("/");
        }
    }
})

export default router
